import router from "../router"
import $bus from "../utils/bus"

// 全局前置钩子

// 返回值：
    // 1、false 阻止路由的进入
    // 2、返回一个路径对象，终止进入to的路径，转而进入return的路径


// 需求：当用户未登入的情况下，不允许访问其他页面(判断本地是否有token，如果有就放行)
// ，如果登入了，就可以访问其他页面了

// router.beforeEach((to,from)=>{
//     console.log('each====to',to)
//     console.log('each=====from',from)

//     let token = sessionStorage.getItem('qf-token')

//     if(!token){
//         // 有token，说明用户没有登陆
//         if(to.path!=='/login'){
//             // 没登入，访问的还不是登录页，那么重新给他跳转到登录页
//             return {
//                 path:"/login"
//             }
//         }
//     }

// })





// 全局的后置钩子
// 路由元信息，每个路由都有一个meta属性，可以做面包屑,可以给路由配置一些额外的表示和属性

// router.afterEach((to,from)=>{
//     console.log('after=====to',to)
//     console.log('after====from',from)

//     // 通过to.matched属性，来获取面包屑需要的数据，要把数据传给app中的data

//     $bus.$emit('breadChange',to.matched)
// })




// 全局解析守卫
// 用户无法界面时，但是邮箱做一些操作，就使用这个钩子
// 等全局的异步组件和异步路由执行完成之后才会执行
// router.beforeResolve((to,from)=>{
//     console.log('resolve=====to',to)
//     console.log('resolve====from',from)
// })


